using System;
using System.Collections;
using System.Collections.Generic;

using DATA.Base;

namespace DATA.BusinessObjects
{
    public partial class Phong : BusinessBase<string>
    {
        #region Declarations

		private string _tenPhong = null;
		private string _ghiChu = null;
		private int? _tinhTrangPhong = null;
		
		private Loaiphong _loaiphong = null;
		
		private IList<Chitietmatdosudungphong> _chitietmatdosudungphongs = new List<Chitietmatdosudungphong>();
		private IList<Phieuthuephong> _phieuthuephongs = new List<Phieuthuephong>();
		
		#endregion

        #region Constructors

        public Phong() { }

        #endregion

        #region Methods

        public override int GetHashCode()
        {
            System.Text.StringBuilder sb = new System.Text.StringBuilder();
            
            sb.Append(this.GetType().FullName);
			sb.Append(_tenPhong);
			sb.Append(_ghiChu);
			sb.Append(_tinhTrangPhong);

            return sb.ToString().GetHashCode();
        }

        #endregion

        #region Properties

		public virtual string TenPhong
        {
            get { return _tenPhong; }
			set
			{
				OnTenPhongChanging();
				_tenPhong = value;
				OnTenPhongChanged();
			}
        }
		partial void OnTenPhongChanging();
		partial void OnTenPhongChanged();
		
		public virtual string GhiChu
        {
            get { return _ghiChu; }
			set
			{
				OnGhiChuChanging();
				_ghiChu = value;
				OnGhiChuChanged();
			}
        }
		partial void OnGhiChuChanging();
		partial void OnGhiChuChanged();
		
		public virtual int? TinhTrangPhong
        {
            get { return _tinhTrangPhong; }
			set
			{
				OnTinhTrangPhongChanging();
				_tinhTrangPhong = value;
				OnTinhTrangPhongChanged();
			}
        }
		partial void OnTinhTrangPhongChanging();
		partial void OnTinhTrangPhongChanged();
		
		public virtual Loaiphong Loaiphong
        {
            get { return _loaiphong; }
			set
			{
				OnLoaiphongChanging();
				_loaiphong = value;
				OnLoaiphongChanged();
			}
        }
		partial void OnLoaiphongChanging();
		partial void OnLoaiphongChanged();
		
		public virtual IList<Chitietmatdosudungphong> Chitietmatdosudungphongs
        {
            get { return _chitietmatdosudungphongs; }
            set
			{
				OnChitietmatdosudungphongsChanging();
				_chitietmatdosudungphongs = value;
				OnChitietmatdosudungphongsChanged();
			}
        }
		partial void OnChitietmatdosudungphongsChanging();
		partial void OnChitietmatdosudungphongsChanged();
		
		public virtual IList<Phieuthuephong> Phieuthuephongs
        {
            get { return _phieuthuephongs; }
            set
			{
				OnPhieuthuephongsChanging();
				_phieuthuephongs = value;
				OnPhieuthuephongsChanged();
			}
        }
		partial void OnPhieuthuephongsChanging();
		partial void OnPhieuthuephongsChanged();
		
        #endregion
    }
}
